#!/bin/bash

# 提示用户输入数据库 IP 地址
read -p "请输入数据库 IP 地址: " db_ip
if [ -z "$db_ip" ]; then
    echo "数据库 IP 不能为空。退出..."
    exit 1
fi

# 提示用户输入数据库端口
read -p "请输入数据库端口: " db_port
if [ -z "$db_port" ]; then
    echo "数据库端口不能为空。退出..."
    exit 1
fi

# 提示用户输入数据库密码（密码输入时不显示）
read -s -p "请输入数据库密码: " db_pass
echo
if [ -z "$db_pass" ]; then
    echo "数据库密码不能为空。退出..."
    exit 1
fi

# 提示用户输入租户 ID
read -p "请输入租户 ID: " tenant_id
if [ -z "$tenant_id" ]; then
    echo "租户 ID 不能为空。退出..."
    exit 1
fi

# 提示用户输入租户名称
read -p "请输入租户名称: " tenant_name
if [ -z "$tenant_name" ]; then
    echo "租户名称不能为空。退出..."
    exit 1
fi

# 执行 SQL 更新语句
mysql -h "$db_ip" -P "$db_port" -u root -p"$db_pass" << EOF
# 更新 omc.pre_order 表的租户信息
update omc.pre_order set tenant_id='${tenant_id}', tenant_name='${tenant_name}' where tenant_sid=21129805496896;

# 更新 omc.order_cloud_device 表的标签
update omc.order_cloud_device set tag='${tenant_id}' where sid=202208220001;

# 更新 iam.tenant 表的租户信息
update iam.tenant set id='${tenant_id}', name='${tenant_name}', customer_id='${tenant_id}', description='${tenant_name}' where sid=21129805496896;
update iam.tenant set id='${tenant_id}_test', name='${tenant_name}测试', customer_id='${tenant_id}',description='${tenant_name}测试' where sid=21129805496897;

# 更新 eoc.corp 表的租户信息
update eoc.corp set id='${tenant_id}', name='${tenant_name}' where sid=21129805496896;
update eoc.corp set id='${tenant_id}_test', name='${tenant_name}测试' where sid=21129805496897;

# 更新 eoc.corp 表的 URI 字段，替换 default 为租户 ID
UPDATE eoc.corp SET uri = CASE WHEN tenant_sid = 21129805496896 AND uri LIKE '%default%' THEN REPLACE(uri, 'default', '${tenant_id}') WHEN tenant_sid = 21129805496897 AND uri LIKE '%default%' THEN REPLACE(uri, 'default', '${tenant_id}_test') ELSE uri END WHERE tenant_sid IN (21129805496896, 21129805496897) AND uri LIKE '%default%';
EOF

# 检查 SQL 执行是否成功
if [ $? -eq 0 ]; then
    echo "SQL 更新执行成功。"
else
    echo "执行 SQL 更新时出错，请检查数据库连接或 SQL 语法。"
    exit 1
fi
